export default {
  // ===========================
  // 服务端返回
  // ===========================
  server: {
    requestfail: '请求发生异常',
    responsefail: '服务器响应异常',
    notfound: '{0}找不到',
    mismatch: '{0}不匹配',
    userbanned: '该操作员已被禁用，请联系管理员',
    notlogin: '未登录或登录已超时，请重新登录',
    noneright: '该操作员无权限操作',
    already: '该{0}已存在',
  },
  // ===========================
  // 全局
  // ===========================
  form: {
    remark: '备注',
    inputrule: '请输入{0}',
  },
  button: {
    action: '操作',
    view: '查看',
    confirm: '确定',
    cancel: '取消',
    save: '保存',
    add: '添加',
    edit: '编辑',
    delete: '移除',
    reload: '重新加载',
    search: '搜索',
    sync: '同步',
  },
  norecord: '没有相应的记录',
  submitok: '已处理成功',
  online: '在线',
  offline: '离线',
  search: {
    title: '输入关键词搜索',
    none: '检索不到任何数据',
  },
  cancelmodel: {
    title: '取消确认',
    content: '是否确认取消?'
  },
  delmodel: {
    title: '删除确认',
    content: '是否确认删除?'
  },
  status: {
    prepare: '准备中',
    on: '运行中',
    off: '关闭中',
    ok: '启用',
    banned: '禁用',
    // 状态切换
    changemodel: {
      title: '切换状态',
      content: '是否确认切换状态',
    },
    // 确认处理
    handlemodel: {
      title: '处理确认',
      content: '是否确认进行该处理',
    }
  },
  // ===========================
  // 登录页
  // ===========================
  login: {
    title: '欢迎登录',
    form: {
      account: '帐号',
      password: '密码',
      button: '登录',
    },
    validate: {
      account: {
        need: '@:(login.form.account)不能为空'
      },
      password: {
        need: '@:(login.form.password)不能为空'
      },
    }
  },
  // ===========================
  changepass: {
    oldpass: '当前密码',
    newpass: '新的密码',
    validate: {
      need: '{0}不能为空',
      complex: '必须是6位或以上字符组合',
    }
  },
  // ===========================
  // 头部
  // ===========================
  header: {
    namespace: '当前空间',
    nsChoosing: '选择空间',
    passChanging: '修改密码',
    user: {
      changepass: '修改密码',
      exit: '退出登录',
    },
  },
  // ===========================
  // 菜单部分
  // ===========================
  menu: {
    dashboard: {
      title: 'Dashboard',
      worker: '工作台',
      monitor: '监控页面',
    },
    app: {
      title: '应用管理',
      list: '应用列表',
      control: '应用限流',
      logger: '日志查询',
    },
    schedule: {
      title: '计划管理',
      list: '计划列表',
      task: '执行记录',
    },
    stat: {
      title: '数据统计',
      list: '统计数据',
    },
    base: {
      title: '基础设置',
      namespace: '命名空间',
      group: '分组管理',
      task: '任务管理',
      config: '公共配置',
    },
    system: {
      title: '系统管理',
      cluster: '集群管理',
      operator: '操作员管理',
      operatorlog: '操作员日志',
    },
    user: {
      title: '用户中心',
      profile: '个人信息',
      history: '最近登录',
    },
  },
  // ===========================
  // 应用管理
  // ===========================
  page: {
    dash: {
      welcome: 'Unistar不仅仅是一个微服务中心，更是一种微的理念。',
      monitor: {
        apps: '应用数量',
        onlines: '在线节点',
        nodes: '总节点数',
        allsucc: '成功请求',
        allsuccrate: '成功率',
        tb: {
          maxqps: '最高QPS',
          count: '累计请求',
          errors: '累计异常',
          rt: '最大响应',
        }
      },
    },
    app: {
      search: '输入关键词搜索',
      serverable: '应用提供服务',
      discoverable: '应用发现服务',
      taskable: '应用作为任务执行器',
      //
      add: '新增应用',
      addform: {
        name: '应用名称',
        namerule: '应用名称只能是字母、中划线或下划线的组合',
        remark: '应用备注',
        remarkrule: '请输入简单的应用简介，便于识别',
        token: '是否配置Token，创建成功后会自动弹出Token提示',
      },
      addtoken: {
        title: '应用添加成功',
        content: '应用的密钥为：{0}，关闭后不可见，也无法修改，请牢记该Token'
      },
      //
      config: '编辑配置',
      configadd: '新增公共配置',
      configform: {
        name: '配置名称',
        namerule: '配置名称只能是字母、中划线或下划线的组合',
      },
      profileadd: '增加Profile',
      profilecustom: '自定义Profile',
      profilecustomrule: '@:(page.app.profilecustom)必须是字母开头的字母和数字组合',
      prifilealready: 'Profile已存在',
      //
      depends: '依赖的配置',
      dependsnone: '没有可@:(page.app.depends)',
      //
      nodes: '应用节点列表',
      nodetb: {
        host: '地址',
        port: '端口',
        group: '分组',
        serverable: '提供服务',
        weight: '权重',
        discoverable: '发现服务',
        taskable: '任务执行',
        tasks: '任务列表',
      },
      nodeform: {
        title: '应用节点',
        host: '地址',
        port: '端口',
        group: '节点分组',
        serverable: '是否为服务提供者',
        weight: '节点的负载权重',
        taskable: '是否为任务执行器',
        tasks: '支持的任务',
        tasksneed: '请选择执行的任务',
        needtip: '节点至少作为服务提供者或任务执行器',
        manualAnurl: '心跳检测地址，有返回即活跃，返回可作为统计数据',
      },
      // 状态切换
      changestatus: {
        title: '切换服务状态',
        content: '是否确认切换服务状态',
        onlineneed: '只有在线的节点才可以更改状态，请确认节点是否有效',
      },
      stat: {
        title: '请求统计',
        updateTime: '更新时间',
        //
        mqps: '最大QPS',
        rp5m: '请求次数',
        ep5m: '异常次数',
        rtms: '平均响应',
        //
        latest: '近一分钟',
        last7day: '近期内',
      },
      watch: {
        title: '路径监听',
        loading: '正在监听路径中',
      },
      weight: {
        title: '权重调整'
      },
      nodeconf: {
        title: '更改配置'
      },
      nodelogger: {
        title: '日志开关',
        levelnomatch: '请填写正确的开关属性，只能在系统选择项中选择'
      },
      control: '应用控制',
      limits: {
        title: '限流配置',
        add: '增加限流配置',
        tb: {
          address: '限流地址',
          befored: '限流模式',
          beforedFeign: 'Feign',
          beforedController: 'Controller',
          validTime: '有效时间',
          validTimeNow: '即刻生效',
          validTimeForever: '永久有效',
          control: '限流参数',
          controlQps: 'QPS',
          controlWarmup: '预热(秒)',
          hystrix: '限流条件',
          hystrixAuto: '默认限流',
          hystrixPeriod: '秒内',
          hystrixError: '错误次数>',
          hystrixRecover: '恢复时间(秒)',
          handle: '限流处理',
          handleFastfail: '快速失败',
          handleTimeout: '线程等待(秒)',
          whites: '限流白名单',
          whitesGroup: '分组',
          whitesService: '服务',
        },
        form: {
          appname: '限流的目标应用',
          path: '限流的目标地址',
          before: '是否为请求前限流，请求前限流则在Feign请求前限流，否则在Controller拦截层限流',
          startTime: '有效开始日期',
          endTime: '有效结束日期',
          //
          control: '限流参数',
          qps: '处理数/秒，0代表彻底阻断',
          warmup: '秒预热期（QPS限流缓冲，避免集中式的并发请求）',
          //
          handleType: '限流处理',
          fastfail: '是否快速失败',
          timeout: '并发限流等待时长(秒)',
          //
          triggerType: '触发规则',
          triggerAuto: '是否自动触发',
          triggePeriod: '异常检测周期(秒)',
          triggeErrors: '{0}秒内可触发限流的异常发生次数',
          triggeRevocer: '触发限流多久后自动恢复(秒)',
          //
          whites: '限制白名单',
          whiteGroups: '不受限制的分组',
          whiteServices: '不受限制的应用',
        }
      },
      logger: {
        form: {
          keyword: '搜索关键词，长度不得低于5',
          before: '前关联行',
          after: '后关联行',
          maxline: '最大检索行数（单节点）',
        },
        tb: {
          app: '应用',
          addr: '节点地址',
          result: '节点日志',
        }
      }
    },
    base: {
      // 命名空间
      ns: '命名空间',
      nsadd: '增加@:(page.base.ns)',
      nsform: {
        namerule: '@:(page.base.ns)必须是字母开头的字母、数字或下划线组合',
      },
      nsall: '所有空间',
      // 分组
      group: '节点分组',
      groupadd: '增加@:(page.base.group)',
      groupform: {
        namerule: '@:(page.base.group)必须是字母开头的字母、数字或下划线组合',
      },
      // 任务
      task: '执行任务',
      taskadd: '增加@:(page.base.task)',
      taskform: {
        namerule: '@:(page.base.task)必须是字母开头的字母、数字或下划线组合',
      },
    },
    schedule: {
      name: '定时计划',
      add: '新增@:(page.schedule.name)',
      search: {
        hideoff: '隐藏关闭',
        incpost: '包含后续',
      },
      schtb: {
        name: '计划名称',
        cron: '计划规则',
        task: '@:(page.base.task)',
        nextTime: '下次执行时间',
        validTime: '有效日期',
        status: '状态',
      },
      schtip: {
        post: '后续计划，不可单独调用，须作为计划的后续触发',
        parallel: '计划的任务将按照并行数量并发调用，并行索引将添加至计划执行参数',
        startTime: '不填写默认是今日',
        endTime: '不填写则代表永久有效',
        tasker: '执行器设置',
        forever: '永久有效',
        statuson: '@:(page.schedule.name)正在运行中',
        statusoff: '@:(page.schedule.name)未启动',
      },
      execute: '立即执行',
      form: {
        namerule: '@:(page.schedule.name)名称必须是字母开头的字母、数字或下划线组合',
        post: '是否作为后续计划',
        cron: 'Cron表达式',
        cronrule: '请输入正确的Cron表达式: 秒 分 时 月天数 月 周天数',
        cronless5sec: '计划执行间隔不得低于5秒',
        group: '@:(page.base.group)，不选择则表示全部服务可以执行',
        group_none: '暂无可用@:(page.base.group)',
        task: '@:(page.base.task)',
        task_none: '暂无可用@:(page.base.task)',
        taskrule: '请指定一个@:(page.base.task)',
        params: '计划执行的参数，JSON字符串',
        posts: '计划任务执行后的触发任务，仅可触发后续计划',
        posts_none: '暂无可触发的后续计划',
        parallel: '并行执行数，超过1则不支持后续触发',
        startTime: '计划开始生效时间',
        endTime: '计划结束失效时间',
      },
      view: {
        group: '执行器组别',
        groupall: '任意组别',
        params: '执行传递参数',
        parallel: '单次调用，随机选取合适的节点',
        parallelmulti: '拆分为{parallel}次并行调用，每次随机选取合适的节点，调用时加入并行编号1~{parallel}',
        execute: '执行'
      },
      tasktb: {
        header_latest: '最近5次执行记录',
        header: '执行记录',
        node: '执行节点',
        status: '当前状态',
        executeTime: '计划执行时间',
        type: '执行方式',
      },
      taskstatus: {
        WAIT: '等待执行',
        EXECUTING: '执行中',
        FINISHED: '执行完成',
        FAILED: '执行失败',
        OVERTIME: '执行超时',
        CANCELED: '任务取消'
      },
      tasktype: {
        AUTO: '系统执行',
        MANUALLY: '手动执行',
        REMEDY: '后台补救',
      },
      taskdetail: {
        title: '任务详情',
        preSchedule: '前置计划',
        preResult: '前置任务返回',
        realTime: '实际执行时间',
        status: '当前状态',
        type: '执行方式',
        result: '任务执行结果',
        preTask: '前置任务',
        afterTask: '后续任务',
      },
      tasksearch: {
        no: '任务编号'
      }
    },
    system: {
      master: '作为集群的Master',
      clusttb: {
        address: '地址',
        version: '版本',
        online: '是否在线',
        resource: '处理器数 | 已分配空闲内存 | 已分配总内存 | 最大可分配内存',
      },
      voting: '投票中',
      timering: '任务执行中',
      op: {
        title: '操作员',
        add: '添加操作员',
        roles: '操作员所属角色',
        namespaces: '操作员可操作空间',
        apps: '操作员可操作应用',
        tb: {
          account: '帐号',
          nick: '昵称',
          lastLoginIp: '最后登录IP',
          lastLoginTime: '最后登录时间',
          status: '状态',
        }
      },
      log: {
        search: {
          account: '帐号搜索'
        },
        tb: {
          account: '帐号',
          path: '请求路径',
          ip: 'IP',
          createTime: '操作时间',
        }
      }
    }
  }
}
